import java.util.ArrayList;
import java.util.Random;


public class Liczba{
	
	
	public static int liczba(int zakres){
		Random generator = new Random();
		int liczba = generator.nextInt(zakres);
		return liczba;
	}
	public static int podstawa(){
		Random generator = new Random();
		int podstawa = generator.nextInt(15)+2;
		return podstawa;
	}
	public static int dzielModulo(int a, int b){
		return a%b;
	}
	
	public static int dziel(int a, int b){
		int wynik = a/b;
		return wynik;
	}
	public static void zamiana(int liczba, int podstawa){
		ArrayList<Typ> zamienionaLiczba = new ArrayList<Typ>();
		Typ liczbaTypu;
		int reszta = 0;
		while(liczba!=0){
			reszta = dzielModulo(liczba, podstawa);
			liczba = dziel(liczba,podstawa);
			if(reszta<10){
				liczbaTypu = new Typ(reszta,"");
				zamienionaLiczba.add(liczbaTypu);
			}
			if(reszta>9){
				if(reszta==10){
					liczbaTypu = new Typ(reszta,"A");
					zamienionaLiczba.add(liczbaTypu);
				}
				else if(reszta==11){
					liczbaTypu = new Typ(reszta,"B");
					zamienionaLiczba.add(liczbaTypu);
				}
				else if(reszta==12){
					liczbaTypu = new Typ(reszta,"C");
					zamienionaLiczba.add(liczbaTypu);
				}
				else if(reszta==13){
					liczbaTypu = new Typ(reszta,"D");
					zamienionaLiczba.add(liczbaTypu);
				}
				else if(reszta==14){
					liczbaTypu = new Typ(reszta,"E");
					zamienionaLiczba.add(liczbaTypu);
				}
				else if(reszta==15){
					liczbaTypu = new Typ(reszta,"F");
					zamienionaLiczba.add(liczbaTypu);
				}
			}						
		}
		for(int i=0;i<zamienionaLiczba.size();i++){
			if(zamienionaLiczba.get(zamienionaLiczba.size()-i-1).liczba>9){
				System.out.print(zamienionaLiczba.get(zamienionaLiczba.size()-i-1).literaLiczby);
			}
			else{
				System.out.print(zamienionaLiczba.get(zamienionaLiczba.size()-i-1).liczba);
			}
			
		}
	}
	
	
	public static void main(String[] args){
		//Liczba l= new Liczba();
		//int liczba = liczba(200);
		int liczba = 10;
		//int podstawa = podstawa();
		int podstawa = 5;
		System.out.print("Liczba: "+liczba+"\nPodstawa: "+podstawa+"\nZamieniona liczba: ");
		zamiana(liczba,podstawa);
		int drugaPodstawa = 2;
		int trzeciaPodstawa = 8;
		int czwartaPodstawa = 16;
		System.out.print("\n\nLiczba: "+liczba+" w podstawie: "+drugaPodstawa+" = ");
		zamiana(liczba,drugaPodstawa);
		System.out.print("\n\nLiczba: "+liczba+" w podstawie: "+trzeciaPodstawa+" = ");
		zamiana(296,12);
		System.out.print("\n\nLiczba: "+liczba+" w podstawie: "+czwartaPodstawa+" = ");
		zamiana(57,12);
	}

}
